﻿using System;
using System.Text;
using System.Drawing;
using System.Buffers;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public static partial class glDRIVE
{
    /*
    函数 gl.rhis
    随机样本分析.
    void rhis(int n, double x[], int m, double x0, double h, int g[], int q[], double dt[3], int k)
    参数 n: 随机样本点数。
    参数 x: x[n]存放随机变量的n个样本点值。
    参数 m: 直方图中区间总数。
    参数 x0: 直方图中随机变量的起始值。
    参数 h: 直方图中随机变量等区间长度值。
    参数 g: g[m]返回m个区间的按高斯分布所应有的近似理论样本点数。
    参数 q: q[m]返回落在m个区间中每一个区间上的随机样本实际点数。
    参数 dt: dt[3]dt[0]返回随机样本的算术平均值，dt[1]返回随机样本的方差，dt[2]返回随机样本的标准差。
    参数 k: k=0表示不需要输出直方图；k=1表示需要输出直方图。
    */

    public static string drive_rhis()
    {
        int n, m, k;
        int[] g = new int[10];
        int[] q = new int[10];
        double[] dt = new double[3];
        double x0, h;
        double[] x = new double[100]{
            193.199,195.673,195.757,196.051,196.092,196.596,
            196.579,196.763,196.847,197.267,197.392,197.477,
            198.189,193.850,198.944,199.070,199.111,199.153,
            199.237,199.698,199.572,199.614,199.824,199.908,
            200.188,200.160,200.243,200.285,200.453,200.704,
            200.746,200.830,200.872,200.914,200.956,200.998,
            200.998,201.123,201.208,201.333,201.375,201.543,
            201.543,201.584,201.711,201.878,201.919,202.004,
            202.004,202.088,202.172,202.172,202.297,202.339,
            202.381,202.507,202.591,202.716,202.633,202.884,
            203.051,203.052,203.094,203.094,203.177,203.178,
            203.219,203.764,203.765,203.848,203.890,203.974,
            204.184,204.267,204.352,204.352,204.729,205.106,
            205.148,205.231,205.357,205.400,205.483,206.070,
            206.112,206.154,206.155,206.615,206.657,206.993,
            207.243,207.621,208.124,208.375,208.502,208.628,
            208.670,208.711,210.012,211.394
        };

        n = 100;
        m = 10;
        x0 = 192.0;
        h = 2.0;
        k = 1;
        gl.rhis(n, x, m, x0, h, g, q, dt, k);

        string rs = "";
        rs += gl.html_table("X", x);
        rs += gl.html_table("m个区间的按高斯分布所应有的近似理论样本点数 g", g);
        rs += gl.html_table("落在m个区间中每一个区间上的随机样本实际点数 q", q);
        rs += gl.html_table("dt", dt);

        return rs;
    }
}